package com.tuanbiao.controllers;

import com.tuanbiao.models.action.ConfigAction;
import com.tuanbiao.base.mvp.IModel;
import com.tuanbiao.base.mvp.IPresenter;
import com.tuanbiao.base.mvp.IView;
import com.tuanbiao.models.action.CheckAction;
import com.tuanbiao.models.action.LoginAction;
import com.tuanbiao.models.action.LoginSurplusAction;
import com.tuanbiao.models.action.SettingAction;

public interface SplashController {

    interface Model extends IModel, CheckAction, LoginSurplusAction, LoginAction, SettingAction, ConfigAction {

    }

    interface View extends IView {

        void showMissingPermissionDialog(boolean shouldShowRequest);

        void startMain();

        void startLogin();

        void startConfig();

        void showUpdate(String msg);

        void showProgress(String action, int progress);

        void showKillDialog(String msg);

        void showUpgrade();

        void showProgressDialog(int progress, String msg);

        void updateFailed(String msg);

        void updateFinish();
    }

    interface Presenter extends IPresenter {
        void checkUpdate();

        void checkStartApp();

        void upgrade();
    }

}
